Workers in data processing are aware that systems having two or more processors and a number of memory units are commonly used (e.g. see U.S. Pat. Nos. 4,920,484, 3,676,860).
Workers are also familiar with the practice of associating one or several host central processors (CPUs) with an array of memory units via intermediate controllers (e.g. see U.S. Pat. Nos. 4,982,324, 4,413,317, 3,889,237, 4,183,084, 3,623,014). And, today, it is not uncommon to operatively associate an array of peripheral storage units with a host computer via an appropriate controller device. FIG. 1 schematically suggests this for a host H and a number of like memory units D, connectible to H via a controller unit C, including suitable interfaces 1F, 1F' (e.g. see ports 1-4, each connected to a respective, like-numbered drive-port).
Similarly, it may often be desirable to so associate two (or more) host computers with a number of such memory units (storage devices)--e.g. as schematically indicated in FIG. 2, with one host H1 coupled to an associated controller C1, a second host H2, also coupled to a respective associated controller C2, and memory units D. If units D are dual-ported, as here indicated, they may be connectible to either host/controller array (as indicated by the port numbers).
"SHARED MEMORY LINKAGE" (FIG. 3)
Now, it may become desirable to mediate the competition between two host-computers to "capture" a selected memory unit (e.g. drive), using certain mediation means. Such a mediation means is the "Shared Memory Interface" (SMi) indicated in FIG. 3, shown in operative relation with eight dual-ported disk drives D0-D7 and a pair of host/controller arrays: host A16 with Controller A and host A17 with Controller B, plus suitable controller inter-faces, IPI-2, IPI-3. Workers should realize that mediation means SMi provides a communication link that allows one controller to request, or transmit, information to, or from, the other controller--here via what may be called "direct memory access" (DMA) something that requires special interfaces [e.g. additional special hardware, as "shared memory", SM, and associated interfaces I-A, I-B, (memory typically a dedicated random access memory RAM) and special software]. Shared memory, SM, also functions as a common storage unit that can be used to maintain "data path control": i.e. allow/disallow a host to write/read information to/from a selected disk drive.
PATH CONTROL
Workers will understand that such "Shared Memory Linkage" (as in FIG. 3) affords a degree of "path control": i.e. it provides a "Master" (e.g. an A-series host computer, from Unisys Corp.) with the ability to disenable/enable, or to assign, any port of a given disk drive to an IPI-2 port of a controller.
By way of illustration, assume that in FIG. 3, disk drive "path control information" is sent to a shared memory module, SM, which stores (disk drive) path control information in its random access memory (RAM) and controls access. If the module isn't "busy" (e.g. if the other controller isn't updating or otherwise accessing memory SM), it will load the information received into its designated path control memory location; and will then interrupt the other controller, indicating that "path control" for this disk drive has changed (similarly, note U.S. Pat. No. 3,735,360 that describes a similar "shared memory" configuration shared by CPUs in a multiprocessor array).
Here (FIG. 3), the host computers A16, A17 may preferably comprise Unisys A16, A17 computers (each dual-ported as shown), while their respective Controllers A, B may comprise compatible units such as, preferably, Unisys M-9730 units, with suitable interfaces. Preferably a Unisys IPI-3 type interface ("intelligent peripheral interface") is used to intercouple each host to its controller. The eight disk drives are coupled to both controllers via a suitable interface for each controller, preferably a Unisys IPI-2 type unit with four ports, each port connected to two drives, as illustrated.
"NATURAL LINKING" (No Special Mediation Hardware)
FIG. 4 is a modification of FIG. 3, indicating as a feature of novelty hereof, what I call "Natural Linking" (of Controller); eliminating all special linking hardware such as the Shared Memory Interface" SMi or any such dedicated RAM or any special interfaces.
A salient feature of this "Natural Linking" is that it operates "Controller-to-Controller", using only a disk drive as its link, i.e. linking via means which are already part of the system (e.g. here only via a disk drive normally coupled to a M-9730 Controller, plus the "standard" IPI-2 interface normally used by this Controller). That is, here, the inter-controller linkage is "natural", using an already-present disk drive unit via an IPI-2 interface which is normally used for disk control or read/write commands. This way, one controller can now, use its normal (natural) interface to communicate with the other controller,--both controllers being coupled to the two ports of each disk drive. This novel natural linkage allows a disk control unit (controller) to request or transmit information to, or from, its companion controller via a selected disk drive in the already-present array of drives. Several useful, surprising advantages will be evident to workers (e.g. no special interfaces needed, only normal "IPI-2" interface as in FIG. 4).
And, unlike the aforedescribed "Shared Memory Linkage", so using a disk drive to transmit path control information, and to interrupt the other controller for updates, eliminates the need for dedicated RAM or other shared memory to maintain "data path control" and for other associated hardware and software. Workers will recognize that this direct, natural intercontroller linkage gives each controller a means of maintaining a resident copy of path-control information, while still maintaining a modicum of data security (at the subsystem). Further, only a minor part of disk-storage space is needed (e.g. I have found that a mere three sectors of track space on the maintenance cylinder can store all requisite data-path control information).